SQL语句having max()的错误案例 您所在的位置:网站首页 sql having SQL语句having max()的错误案例

SQL语句having max()的错误案例

#SQL语句having max()的错误案例| 来源: 网络整理| 查看: 265

select deptno,avg(sal) t from emp GROUP BY DEPTNO

查询结果正常:

但是对上述查询字段进行having条件之后不能结果为null

select deptno,avg(sal) t from emp GROUP BY DEPTNO having max(t)

结果:

原因:聚合函数嵌套

解释:去掉别名

select deptno,avg(sal) from emp GROUP BY DEPTNO having max(avg(sal)) 结果报错: Invalid use of group function(组函数的使用无效)

而如下查询为子查询,不属于聚合函数嵌套

select dept.dname,t.deptno,t.sal from dept JOIN (select deptno,avg(sal)sal from emp group by deptno) t on dept.deptno = t.deptno having max(sal)

max括号内的sal为子表的列,非聚合函数

此外,where,聚合函数,having的执行顺序为where>聚合函数>having



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有